Data storage entities may have various performance capabilities and cost points. For example, cache memory may have fast access to data and to store data, but be relatively costly. Disk drives may have slower access times (due to seek times) and be relatively inexpensive. Flash memory is a non-volatile sequential semiconductor memory and, as such, is unable to support DMA (direct memory access) data transfer. Hence, flash memory may be arranged as SSD (Solid State Drives) as is known to those of skill in the art. SSD flash memory has low latency, but not high band width, and thus is in between disk drives and cache memory from a performance standpoint, as is known to those of skill in the art, and is also in between from the standpoint of cost.
Controllers for data storage systems (also called storage controllers and servers) typically control access to data storage media and memories in response to read and write requests. The storage controllers may direct the data to cache, non-volatile storage, SSD flash memory, and data storage devices such as RAID (redundant array of independent disks), JBOD (just a bunch of disks), and other redundancy levels of disk drives.
As an example, an IBM® ESS (Enterprise Storage Server) such as a DS8000 has redundant clusters of computer entities, cache, non-volatile memory, etc., responsive to hosts to store the data in a virtual manner, tracking the actual data for subsequent retrieval. The data is typically stored as directed by the controller so as to be available, or made available, to the requesting entity, with data of a type that is likely to be needed again right away, as in bursts of activity, stored in the faster speed data storage, and the bulk of the data stored in slower speed data storage. In one example, the slower speed data storage is disk drives, and the higher speed data storage is SSD flash memory.
Data may be arranged in various units of data of constant or variable sizes. In one example, data is arranged in units of data called “extents”. In another example, data is arranged in units of data called “data sets”. In still another example, data is arranged in units of data called “sectors”. Another example is related to addressing and is called “LUN”s for Logical Units. Other examples are known to those of skill in the art. Hence, herein, the generic term used is “group” or “groups”.